home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 04 geoProgramming / HEXCLC.SDA / UTILITY (.txt) < prev    next >
Encoding:
GEOS ConVerT  |  2019-04-13  |  2.5 KB  |  167 lines

  1. UTILITY
  2. SEQ formatted GEOS file V1.0
  3. Olivetti PR2300
  4. OP V2.0 or higher
  5. BLASTER'S CONVERTER V2.5
  6. ASCII
  7.     UTILITY
  8. COPE SOURCE V1.0
  9. DL870517
  10. COPE EDITOR V1.0
  11. ;Utility
  12. ;========
  13. Divide
  14.  lda #47
  15.  jmp DOMATH
  16. Multiply
  17.  lda #42
  18.  jmp DOMATH
  19.  lda #43
  20.  jmp DOMATH
  21. Subtract
  22.  lda #45
  23.  jmp DOMATH
  24. Equal
  25.  lda #61
  26. DOMATH
  27.  JSR MATH
  28.  JSR SWCHMODE2
  29.  LDA #0
  30.  sta Keyinlen
  31. DOAND
  32.  lda #'&
  33.  JMP DOMATH
  34. DOORA
  35.  lda #'|
  36.  JMP DOMATH
  37. DOEOR
  38.  lda #'^
  39.  JMP DOMATH
  40. ;---====---===-----
  41. OurGetString
  42. lda $8504
  43. Exit1
  44. sta Key
  45. jsr FindIconNumber
  46.  lda keypress
  47.  bmi Exit1c
  48.  Jsr DoIconCall
  49.  Exit1c
  50.  jsr GetNextChar
  51.  bne Exit1
  52. FindIconNumber
  53.  lda #$FF
  54.  sta keypress
  55.  ldx #0
  56.  lda Table1,x
  57.  beq Exit2
  58.  cmp Key
  59.  beq OK
  60.  bne Lp
  61.  lda Table2,X
  62.  sta keypress
  63.  Exit2
  64. Table1 .Byte 48,49,50,51,52,53,54,55,56,57
  65.  .Byte 97,98,99,100,101,102
  66.  .Byte 43,45,47,42,61,38,94,124,18,19,29,1,3,5,37,35,36,0
  67. Table2 .Byte 0,1,2,3,4,5,6,7,8,9
  68.  .Byte 10,11,12,13,14,15,23,22,20,21,24,28,29,30,16,17
  69.  .Byte 18,25,26,27,35,36,37
  70. Key .Byte 0
  71. ;----
  72. DoIconCall
  73.  jsr Invert
  74.  lda keypress
  75.  cmp #16
  76.  bcs Skip22
  77.  lda keypress
  78.  jsr IconCall2
  79. Skip22
  80.  cmp #16
  81.  bne s1
  82.  jmp Clear
  83.  cmp #17
  84.  bne s2
  85.  jmp ClearAll
  86.  cmp #18
  87.  bne s3
  88.  jmp Delete
  89.  cmp #20
  90.  bne s4
  91.  jmp Divide
  92.  cmp #21
  93.  bne s5
  94.  jmp Multiply
  95.  cmp #22
  96.  bne s6
  97.  jmp Subtract
  98.  cmp #23
  99.  bne s7
  100.  jmp Add
  101.  cmp #24
  102.  bne s8
  103.  jmp Equal
  104.  cmp #25
  105.  bne s9
  106.  jmp SWITCHMODE2
  107.  cmp #26
  108.  bne s10
  109.  jmp SWITCHMODE2
  110.  cmp #27
  111.  bne s11
  112.  jmp SWITCHMODE2
  113.  cmp #28
  114.  bne s12
  115.  jmp DOAND
  116.  cmp #29
  117.  bne s13
  118.  jmp DOEOR
  119.  cmp #30
  120.  bne s14
  121.  jmp DOORA
  122.  cmp #35
  123.  bcc s22
  124.  cmp #38
  125.  bcs s22
  126.  sbc #10
  127.  sta keypress
  128.  jsr SWITCHMODE2
  129.  ldx #0
  130.  stx Keyinlen
  131. Invert
  132.  jsr Invert2
  133.  ldy #58
  134.  ldx #255
  135.  bne inv1
  136.  bne inv2
  137.  jsr Invert3
  138. xbyte .Byte 0
  139. ybyte .Byte 0
  140. Invert2
  141.  lda keypress
  142.  cmp #35
  143.  bcc inv34
  144.  sbc #10
  145. inv34
  146.  lda tableu,X
  147.  sta xbyte
  148.  lda tableu,X
  149.  sta ybyte
  150. Invert3
  151.  lda #0
  152.  sta R3+1
  153.  lda xbyte
  154.  sta R3
  155.  adc #23
  156.  sta R4
  157.  lda R3+1
  158.  adc #0
  159.  sta R4+1
  160.  lda ybyte
  161.  sta R2
  162.  adc #15
  163.  sta R2+1
  164.  jsr InvertRectangle
  165. tableu
  166. .Include TABLEU
  167.